table of contents
TAIL(1) | Narzędzia tekstowe GNU 2.0 | TAIL(1) |
NAZWA¶
tail - wypisz końcową część pliku
SKŁADNIA¶
OPIS¶
Dokumentacja niniejsza nie jest już utrzymywana i może być niedokładna lub niekompletna. Autorytatywnym źródłem jest obecnie dokumentacja Texinfo. Dostęp do niej uzyskasz wpisując w wierszu poleceń:
Ta strona podręcznika opisuje polecenie tail w wersji GNU.
tail wypisuje końcową część (domyślnie 10 linii) każdego podanego pliku; czyta ze standardowego wejścia jeśli nie podano plików, albo jeśli napotkano nazwę pliku '-'. Jeśli podano więcej niż jedną nazwę pliku, wypisuje także nagłówek składający się z nazwy pliku otoczonej `==>' i `<==', przed wypisem dla każdego pliku.
GNU tail może wypisać dowolną ilość danych, w odróżnieniu od wersji UNIX-owych, które używają bufora o stałym rozmiarze. Nie ma on opcji -r (wypisywanie odwrotnie), gdyż odwracanie pliku to faktycznie zupełnie inne zadanie niż wypisywanie końca pliku; tail z BSD potrafi odwrócić tylko pliki, które są nie większe niż jego bufor, przeważnie 32k. Bardziej niezawodnym i wszechstronnym sposobem odwracania plików jest polecenie GNU tac.
OPCJE¶
tail akceptuje dwa formaty opcji: nowy, w którymi liczby są argumentami opcji literowych (`-n 1'), i stary, w którym +, -, i opcjonalne liczby poprzedzają jakiekolwiek opcje literowe (`-1' lub `+1').
Jeśli liczba ('N') zaczyna się od znaku +, tail zaczyna wypisywanie od N-tego elementu od początku każdego pliku, a nie od końca.
- -Nopcje, +Nopcje
- Opcja taka jest rozpoznawana tylko jeśli jest podana jako pierwsza. N jest liczbą dziesiętną, po której opcjonalnie występuje litera rozmiaru (`b', `k', `m') jak w opcji `-c', lub litera `l' oznaczająca zliczanie linii, albo inne litery opcji (`cfqv').
- -c N, --bytes=N
- Wypisuje końcowe N bajtów. N to liczba naturalna, po której opcjonalnie następuje jeden z poniższych znaków określający inną jednostkę.
- -f, --follow=[jak]
- Pracuje w nieskończonej pętli próbując
przeczytać więcej znaków z końca pliku,
zakładając, że plik rośnie. Ignorowana
jeśli czytanie odbywa się z potoku. Jeśli podano
więcej niż jeden plik, tail wypisuje
nagłówek za każdym razem gdy dostaje wynik od innego
pliku, aby zaznaczyć, z którego pliku on pochodzi.
Istnieją dwa sposoby określania, jak mają być śledzone pliki przy użyciu tej opcji, ale różnica ta jest zauważalna tylko wtedy, gdy śledzony plik zostanie usunięty lub zmieni nazwę. Chcąc śledzić koniec powiększającego się pliku nawet po jego usunięciu (unlink), należy użyć --follow=descriptor. Jest to zachowanie domyślne, ale nie jest przydatne jeżeli śledzi się plik dziennika, który może podlegać cyklicznej wymianie (usunięcie lub zmiana nazwy, następnie ponowne otwarcie). W takim przypadku, należy użyć --follow=name, by śledzić plik o danej nazwie przez okresowe ponowne otwieranie go i sprawdzanie czy został usunięty i ponownie utworzony przez jakiś inny program.
Bez względu na wykorzystaną metodę, jeżeli zostanie stwierdzone skurczenie się pliku, tail wypisuje komunikat mówiący o tym, że plik został obcięty i wznawia śledzenie końca pliku od ponownie wyznaczonego punktu końcowego.
Gdy plik jest usunięty, zachowanie się tail zależy od tego czy śledzi on nazwę czy deskryptor. Podążając za nazwą potrafi rozpoznać, że plik został usunięty i daje odpowiedni komunikat, a jeśli użyto opcji --retry będzie wykonywał cykliczne sprawdzanie czy plik nie pojawi się znowu. Podążając za deskryptorem, tail nie wykrywa, że plik został usunięty czy zmienił nazwę i nie wysyła komunikatów; mimo, iż plik może nie być już dostępny pod pierwotną nazwą, może on wciąż powiększać się.
Wartości opcji descriptor i name można podać tylko przy długiej postaci opcji, nie z -f.
- --retry
- Ponawia próby otwarcia pliku nawet, jeśli jest niedostępny w momencie rozpoczęcia pracy przez tail lub staje się niedostępny później -- przydatne tylko z opcją -f. Bez opcji --retry tail napotykając plik, który nie istnieje lub jest niedostępny w inny sposób, zgłasza ten fakt i nie sprawdza już powtórnie.
- --sleep-interval=N
- Zmienia liczbę sekund odczekiwania pomiędzy iteracjami (domyślnie jest to 1). Podczas pojedynczej iteracji, dla każdego z podanych plików wykonywane jest sprawdzenie jest czy nie zmienił on rozmiaru.
- --pid=PID
- Podążając za deskryptorem lub nazwą,
można podać identyfikator procesu, PID, jedynego
piszącego do wszystkich plików wymienionych jako
argumenty. Następnie, wkrótce po zakończeniu tego
procesu, tail również zakończy pracę.
Działa to poprawnie tylko wtedy, gdy piszący i proces tail
uruchomione są na tej samej maszynie. Na przykład, by
zachować wyniki kompilacji w pliku i obserwować jego wzrost,
można wywołać `make' i `tail' a proces tail zatrzyma
się po ukończeniu kompilacji. Bez tej opcji, trzeba
było by samodzielnie unicestwić proces `tail -f'.
Jeśli zostanie podany nie używany PID lub nie odpowiadający procesowi piszącemu do przeglądanych plików, to 'tail' może zakończyć pracę dużo wcześniej niż plik(i) przestaną się powiększać lub może nie ukończyć pracy długo po tym, jak faktyczny piszący skończył.
$ make >& makerr & tail --pid=$! -f makerr - --max-consecutive-size-changes=N
- Opcja znacząca tylko, jeśli występuje podążanie za nazwą (--follow=name). Służy do określania, jak długo tail ma podążać za deskryptorem gwałtownie rosnącego pliku, nawet jeśli zostanie on usunięty lub zmieni się jego nazwa. Po wykryciu N kolejnych zmian rozmiaru pliku tail wykonuje open/fstat pliku, by stwierdzić czy dana nazwa pliku jest wciąż skojarzona z tym samą parą urządzenie/numer-iwęzła, co uprzednio. Zobacz wynik tail --help by zapoznać się z wartością domyślną [tłum:5].
- --max-unchanged-stats=N
- Przy przeglądaniu końca pliku według nazwy, jeśli wystąpiło N kolejnych iteracji, podczas których rozmiar pozostał ten sam, to tail wykonuje open/fstat pliku. Stwierdza w ten sposób czy dana nazwa pliku jest wciąż skojarzona z tym samą parą urządzenie/numer-iwęzła, co uprzednio. Przy podążaniu za plikiem dziennika podlegającym cyklicznej wymianie jest to w przybliżeniu liczba sekund pomiędzy momentem, kiedy tail wypisze ostatnie linie sprzed rotacji a czasem, kiedy wypisze linie, jakie nagromadziły się w nowym pliku dziennika. Zobacz wynik tail --help by zapoznać się z wartością domyślną [tłum.: 200]. Opcja ta jest znacząca tylko przy podążaniu za nazwą.
- -l, -n N, --lines=N
- Wypisuje ostatnie N linii. -l jest rozpoznawana tylko z użyciem starego formatu opcji.
- -q, --quiet, --silent
- Nigdy nie wypisuje nagłówków z nazwami plików.
- -v, --verbose
- Zawsze wypisuje nagłówki z nazwami plików.
- --help
- Wyświetla informację o stosowaniu programu i dostępnych opcjach, kończy pracę.
- --version
- Wyświetla numer wersji programu i kończy pracę.
ZGŁASZANIE BŁĘDÓW¶
Błędy proszę zgłaszać, w jęz. ang., do <bug-textutils@gnu.org>.
COPYRIGHT¶
Copyright © 1999 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.
ZOBACZ TAKŻE¶
OD TŁUMACZA¶
Zaktualizowano i poszerzono wg dokumentacji Texinfo dla narzędzi tekstowych GNU wersji 2.0.
FSF | sierpień 1999 |